package com.hjm.project.merchantInfo.merchantInfo.mapper;

import java.util.List;
import java.util.Map;

import com.hjm.project.merchantInfo.merRecord.domain.MerUpdateAreaRecord;
import com.hjm.project.merchantInfo.merchantInfo.domain.MerchantInfo;
import com.hjm.project.merchantInfo.merchantInfo.domain.MerchantInfoVo;
import com.hjm.project.merchantInfo.merchantInfo.domain.MerchantRateShow;
import com.hjm.project.merchantInfo.merchantInfo.domain.MerchantShow;
import org.apache.ibatis.annotations.Param;

/**
 * 商户信息Mapper接口
 *
 * @author LOVE
 * @date 2020-11-23
 */
public interface MerchantInfoMapper
{
    /**
     * 查询商户信息
     *
     * @param merno 商户信息ID
     * @return 商户信息
     */
    public MerchantInfo selectMerchantInfoById(String merno);
    public MerchantInfo selectMerchantInfoByMerNo(String merno);

    /**
     * 查询商户信息列表
     *
     * @param merchantInfo 商户信息
     * @return 商户信息集合
     */
    public List<MerchantInfo> selectMerchantInfoList(MerchantInfo merchantInfo);


    public List<Map> selectMerchantInfoList1(MerchantInfo merchantInfo);


    public int updateMerchantSync(@Param("ldMerNo") String ldMerNo);


    /**
     * 数据管理-商户查询
     *
     * @param merchantInfo 商户信息
     * @return 商户信息集合
     */
    public List<MerchantInfo> selectDataMerInfoList(MerchantInfo merchantInfo);

    /**
     * 新增商户信息
     *
     * @param merchantInfo 商户信息
     * @return 结果
     */
    public int insertMerchantInfo(MerchantInfo merchantInfo);

    public int insertMerchantInfoVo(MerchantInfoVo merchantInfoVo);

    /**
     * 修改商户信息
     *
     * @param merchantInfo 商户信息
     * @return 结果
     */
    public int updateMerchantInfo(MerchantInfo merchantInfo);

    public int updateMerchantInfoVo(MerchantInfoVo merchantInfoVo);

    /**
     * 删除商户信息
     *
     * @param merno 商户信息ID
     * @return 结果
     */
    public int deleteMerchantInfoById(String merno);

    /**
     * 批量删除商户信息
     *
     * @param mernos 需要删除的数据ID
     * @return 结果
     */
    public int deleteMerchantInfoByIds(String[] mernos);



    /**
     * 商户图片
     *
     * @return 结果
     */
    public int checkImg(Map map);


    /**
     * 删除app登录用户
     *
     * @param merNo
     * @return
     */
    public int deleteUserLogin(String merNo);

    /**
     * 修改卡包表数据
     *
     * @param params
     * @return
     */
    public int updateMerchantCardBag(Map<String,String> params);

    /**
     * 查询商户通过商户号
     * @param merno
     * @return
     */
    public Map findMerchatInfoByMerno(String merno);

    /**
     * 查询商户费率
     * @param merno
     * @return
     */
    public List<Map<String, Object>> findMerchantRateByMerno(String merno);

    public List<MerchantRateShow> findMerchantRateShowByMerno(String merno);

    /**
     * 获取商户终端
     * @param merNo String
     * @return Map
     */
    Map<String, Object> getFormalPosByMerno(String merNo);

    /**
     * 修改branchPos
     * @param request Map
     * @return int
     */
    int updateBranchPos(Map<String, Object> request);
    /**
     * 修改formalPos
     * @param request Map
     * @return int
     */
    int updateFormalPos(Map<String, Object> request);


    /**
     * 修改接口库的pos_key表数据
     * @Param []
     * @Return int
     */
    int updateJkPosKeyInfo(Map<String, Object> request);

    /**
     * 修改接口库的Tpos表数据
     * @Param []
     * @Return int
     */
    int updateJkTpos(Map<String, Object> request);

    /**
     * 获取一个pos_key数据
     * @Param [request]
     * @Return int
     */
    Map selectJkPosKeyInfo(Map<String, Object> request);

    MerchantShow findMerchantInfoShowByMerno(String merno);


    /**
     * 获取一个商户编号
     * @Param []
     * @Return java.lang.String
     */
    public String getMerNo();

    /**
     * 保存商户变更地址记录
     * @param param
     * @return
     */
    public int insertEditAddressRecord(Map param);

    public List<MerUpdateAreaRecord> selectMerUpdateAreaRecordList(MerUpdateAreaRecord merUpdateAreaRecord);

    public List<Map<String,Object>> allProblemList(Map param);

    public Map<String,Object> getSettleCycle(Map param);

    public int updateMerchantInfoRepulse(Map param);

    public int updateProblemStatus(Map param);

    public int updateMerchantInfo1(Map param);

    public List<Map<String,Object>> imgList(Map param);

    public Map<String,Object> getMapMer(String merNo);

    public Map<String,Object> getOneMap(Map param);

    public Map<String,Object> getMerInfoExpand(String merno);

    public List<Map<String,Object>> getFuJiaInFo();

    public List<Map<String,Object>> getDianZiInFo();

    public List<Map<String,Object>> getFeiLvInFo();

    public int addMerchantRate(Map param);

    public Map<String,Object> getMerchantRateInfo(String merno);

    public int updateMerchantByMerNo(Map param);

    public int updateMerForProblem(String merno);

    public int updateMerchantStatus(String merno);


}
